package com.hylc.biz.ui.update;

import android.content.Context;

import com.orhanobut.logger.Logger;
import com.xls.commonlibrary.bean.UpdateVersionResult;

public class UpdateUtil {

    private static volatile UpdateUtil singleton = null;

    private UpdateUtil() {
    }

    public static UpdateUtil getInstance() {
        if (singleton == null) {
            synchronized (UpdateUtil.class) {
                if (singleton == null) {
                    singleton = new UpdateUtil();
                }
            }
        }
        return singleton;
    }

    DownloadTask downloadTask;

    //升级下载按钮点击事件
    public void down(Context context, UpdateVersionResult result) {

        Logger.d("==========UpdateUtil=========start=======");

//        //onProgressUpdate和onPreExecute是运行在UI线程中的，
//        // 所以我们应该在这两个方法中更新progress。
        downloadTask = new DownloadTask(context, result);
        //execute 执行一个异步任务，通过这个方法触发异步任务的执行。这个方法要在主线程调用。
        downloadTask.execute(result.getUrl());

    }

    public void cancel() {
        Logger.d("==========UpdateUtil=========cancel=======");
        if (downloadTask != null) {
            downloadTask.cancel(true);
            downloadTask = null;
        }
    }
}
